package com.fire.control.system.module.common.controller.web;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.fire.control.system.module.common.controller.BaseController;
import com.fire.control.system.module.common.service.AreaService;
import com.fire.control.system.module.common.service.SelectService;
import com.fire.control.system.standard.BusinessInterfaceStandard;
import com.fire.control.system.support.protocol.comman.ResponseProtocol;
import com.fire.control.system.support.protocol.common.SelectRequestProtocol;

/**
 * 
 * @ClassName:  SelectController
 * @Description:  下拉选公共类
 * @author:  xiechengguang
 * @date:  2017年6月22日 下午3:38:36
 *
 */
@RestController
@RequestMapping("/web/common")
public class SelectController extends BaseController implements BusinessInterfaceStandard<SelectRequestProtocol, ResponseProtocol> {
	@Autowired private SelectService selectService;
	@Autowired private AreaService areaService;
	
	/**
	 * 
	 * @author: xiechengguang 
	 * @Title: select   
	 * @Description: 根据type区分执行何种下拉选操作
	 *   通过type:区分加载数据类型：1.企业    2.设备组   3.用户： 安全管理员 / 网关（根据设备组id） 
	 *   4.设备组的所属组（下拉选） 5.下拉选报警类型    6.角色： 管理员 /安全管理员/巡检员  
	 *   7.用户： 安全巡检员 （根据安全管理员id）
	 * @param:        
	 * @return: ResponseProtocol      
	 * @throws
	 */
	@RequestMapping(value = "/select", method = RequestMethod.POST)
	public ResponseProtocol select(SelectRequestProtocol request) {
		return selectService.select(request, getUser());
	}
	
	/**
	 * @author: xiechengguang 
	 * @Title: getRegionGroup   
	 * @Description: 获取省市区 下面的 设备组 (用于设备的设备组) 
	 * @param:        
	 * @return: ResponseProtocol      
	 * @throws
	 */
	@RequestMapping(value = "/getRegionGroup", method = RequestMethod.POST)
	public ResponseProtocol getRegionGroup(SelectRequestProtocol request) {
		return areaService.getRegionGroup(request, getUser());
	}
	
	/**
	 * @author: xiechengguang 
	 * @Title: getGatewayGroup   
	 * @Description: 获取省市区 下面的 设备组 (用于网关的设备组) 
	 * @param:        
	 * @return: ResponseProtocol      
	 * @throws
	 */
	@RequestMapping(value = "/getGatewayGroup", method = RequestMethod.POST)
	public ResponseProtocol getGatewayGroup(SelectRequestProtocol request) {
		return areaService.getGatewayGroup(request, getUser());
	}
	
}
